|
Author |
Thread Statistics | Show CCP posts - 0 post(s) |
Vincent Athena
V.I.C.E. Comic Mischief
830
|
Posted - 2012.07.19 16:17:00 -
[1] - Quote
I know one of the issues of running eve on a Mac is eve uses DirectX graphics calls and the Macintosh uses OpenGL. The Cider wrapper does translations. But that does not really seem to explain the issue. Maybe someone who knows, or someone at CCP can explain this? Specifically:
The Macintosh hardware is in no way limited to OpenGL. To prove this to yourself, but in bootcamp and run eve. Now DirectX calls control the Graphics Processor Unit directly. Question: Why cannot an application running on the Mac side use DirectX? The hardware can handle it. Why the limitation to OpenGL? Why can the Mac OS not just be bypassed and DirectX calls sent directly to the GPU?
Even if there is no way to do this and the translation must be done, could this not be done before I download the client? That is;
If ( UseOpenGL = true ) then OpenGL call else DirectX call
where the openGL call is exactly the call Cider would have made if it was asked to do the translation. My guess is if even 5% of the graphics calls made by the client included "pre-translated" calls, there would be a marked improvement in fps, assuming the most heavily used calls were translated. http://vincentoneve.wordpress.com/ |
Vincent Athena
V.I.C.E. Comic Mischief
830
|
Posted - 2012.07.19 16:41:00 -
[2] - Quote
Why cannot a native DirectX driver be part of Cider? http://vincentoneve.wordpress.com/ |
Vincent Athena
V.I.C.E. Comic Mischief
830
|
Posted - 2012.07.19 17:26:00 -
[3] - Quote
Im still missing something.
DirectX drivers do not have to be written, they already exist. Otherwise no one could use DirectX on any computer with any operating system. Furthermore DirectX drivers that work on a Macintosh already exist, they are loaded whenever you use bootcamp.
Apple already allows DirectX drivers on their hardware. They are loaded on whenever you start bootcamp.
Im not suggesting adding DirectX drivers to OSX. I understand Apple has the right to prevent mucking with their OS. Im suggesting adding them to Cider and bypassing OSX, so the only app that can use them is Eve. Cider already has an odd DirectX driver, it works by first translating the calls to OpenGL. Why not have a better one, one that can use the DirectX call directly? http://vincentoneve.wordpress.com/ |
Vincent Athena
V.I.C.E. Comic Mischief
831
|
Posted - 2012.07.19 21:00:00 -
[4] - Quote
Sort of, but I still do not see why the driver needs to interact with the OS. Why not use a driver that directly drives the GPU without any consideration of the OS at all?
For example when I first turn on my computer I see the PgP log in screen. That appears before OSX has been loaded. Obviously something is controlling the graphics without the need for OSX. And as I can type stuff in at that point, the UI is still working. Why cannot cider do the same?
Also what about my second method, have OpenGL calls pre-translated and in the code, so Cider does not need to spend time doing the translating? http://vincentoneve.wordpress.com/ |
Vincent Athena
V.I.C.E. Comic Mischief
837
|
Posted - 2012.07.20 15:29:00 -
[5] - Quote
[quote=Dersen Lowery There's a small computer-within-a-computer with a very rudimentary interface running the machine at that point. None of the drivers have been loaded, because the OS hasn't been loaded--it's talking directly to hardware. [/quote]
Why could not Cider talk directly to the hardware?
Also, I thought Cider, being a PC emultor, contains some part of the PC OS. Why not have the DX driver interact with that, instead of OSX?
In other words. Why cannot Cider just ignore OSX? http://vincentoneve.wordpress.com/ |
Vincent Athena
V.I.C.E. Comic Mischief
842
|
Posted - 2012.07.23 15:30:00 -
[6] - Quote
Dersen Lowery wrote:
All applications running on modern OS's only know what the OS tells them about the hardware they're running on, and all access to that hardware goes through the OS. Otherwise, for example, OS X and Windows 7 couldn't do the transparent window-over-window compositions or preview windows, or OS X's minimize effect to the dock. Screenshots wouldn't work, and so on. All of that depends on all graphics being rendered through the operating system's graphics layer.
Im willing to give up having the eve window transparent, or an eve preview window once eve is running, and even minimizing. Im willing that to have the only way to do screenshots of eve be the routine built into eve. Would not you for 3 times the fps?
Dersen Lowery wrote: It contains original code that mimics Windows well enough to fool many Windows applications, including EVE, which is mostly written in platform-independent Python. That includes a library that looks like DirectX, but which is actually a shim that translates DirectX calls into OpenGL.
Why could it not contain an actual DirectX driver rather than a shim?
Dersen Lowery wrote:You can't run a Windows driver, because it expects to sit between the hardware and Windows; but WINE isn't Windows, it just looks kind of like Windows from above. Why could it not sit between the hardware and Cider? Why could Cider not just send OSX a "placeholder" graphics (say a white square that fills the eve window) then use DX to put the eve graphics on that space? That way any OpenGL graphics commands sent by OSX would just be behind the white square. OSX need not know that that white square is being overwritten by Cider.
Matthew Barsrallah wrote:to put it simply. Direct X is a Microsoft technology. Yes, nvidia/ati/intel graphics cards/ship support both, however it doesn't make sense for Microsoft to license one of their best proprietary software technologies to a competing company (apple) .
I'm not suggesting it be licensed to Apple, Im suggesting it be licensed to Transgaming or CCP. http://vincentoneve.wordpress.com/ |
Vincent Athena
V.I.C.E. Comic Mischief
883
|
Posted - 2012.08.02 13:46:00 -
[7] - Quote
There is also the second idea I proposed: add Pre-translated calls to eve. That is;
If ( UseOpenGL = true ) then OpenGL call else DirectX call
where the OpenGL call is exactly the call Cider would have made if it was asked to do the translation. My guess is if even 5% of the graphics calls made by the client included "pre-translated" calls, there would be a marked improvement in fps, assuming the most heavily used calls were translated.
To do this you may not need to have that good an understanding of OpenGL, after all you are using Cider to do the translation then plagiarizing the result and sticking it in the client. Also if you can get away with just doing 5%, the programmer time would be small, making this a viable option despite CCP's manpower restrictions.
Also, there would not be two code branches to maintain. Just one which included code to use the right calls with each computer type.
What does Parallels and VM-ware do? http://vincentoneve.wordpress.com/ |
|
|
|